package dao.hero;





/*属性：
 * 名称name，ID,血HP，基础攻击力ATT，基础防御力DEF，敏捷DEX，头像head，形象body
 * 技能1名称sname1，技能2名称sname2，技能3名称sname3，技能4名称sname4，
 * 技能1描述describe_skill1，技能2描述describe_skill2，技能3描述describe_skill3，技能4描述describe_skill4
 * 英雄描述describe_hero，运气值luck
 */

/**
 * 抽象方法：
 * skill1()技能1，skill2()技能2，skill3()技能3，Skill4()技能4
 * 攻击attack()，反击defend()，isDodge()是否闪避
 */
public abstract class BaseHero {
	String name;  //名称
	int ID;
	double HP;    //血量
	int ATT;      //基础攻击力ATT
	double DEF;   //基础防御力
	int DEX;      //敏捷
	String myluck;//运气值描述，一般、良好、优秀
//	Image head;
//	Image body;
	String headpath;//头像图片
	String bodypath;//身体图片
	String sname1;//技能1
	String sname2;//技能2
	String sname3;//技能3
	String sname4;//技能4
	String describe_skill1;//技能1描述
	String describe_skill2;//技能2描述
	String describe_skill3;//技能3描述
	String describe_skill4;//技能4描述
	String describe_hero;//英雄描述
	public static int luck;//运气值
	double lastHP;
	public String tip ;//提示伤害信息
	int blue;//英雄蓝总量
	boolean blood;//回血还是掉血标志
	double maxHP;//最大血量
	boolean noDodge=false;
	/*
	 * get、set方法
	 */
	public String getName() {
		return name;
	}
	public void setName(String name) {
		this.name = name;
	}
	public double getHP() {
		return HP;
	}
	public void setHP(double hP) {
		HP = hP;
	}
	public int getATT() {
		return ATT;
	}
	public void setATT(int aTT) {
		ATT = aTT;
	}
	public double getDEF() {
		return DEF;
	}
	public void setDEF(double dEF) {
		DEF = dEF;
	}
	public String getSname1() {
		return sname1;
	}
	public void setSname1(String sname1) {
		this.sname1 = sname1;
	}
	public String getSname2() {
		return sname2;
	}
	public int getBlue() {
		return blue;
	}
	public void setBlue(int blue) {
		this.blue = blue;
	}
	public void setSname2(String sname2) {
		this.sname2 = sname2;
	}
	public String getSname3() {
		return sname3;
	}
	public void setSname3(String sname3) {
		this.sname3 = sname3;
	}
	public String getSname4() {
		return sname4;
	}
	public void setSname4(String sname4) {
		this.sname4 = sname4;
	}
	public String getDescribe_skill1() {
		return describe_skill1;
	}
	public void setDescribe_skill1(String describe_skill1) {
		this.describe_skill1 = describe_skill1;
	}
	public String getDescribe_skill2() {
		return describe_skill2;
	}
	public void setDescribe_skill2(String describe_skill2) {
		this.describe_skill2 = describe_skill2;
	}
	public String getDescribe_skill3() {
		return describe_skill3;
	}
	public void setDescribe_skill3(String describe_skill3) {
		this.describe_skill3 = describe_skill3;
	}
	public String getDescribe_skill4() {
		return describe_skill4;
	}
	public void setDescribe_skill4(String describe_skill4) {
		this.describe_skill4 = describe_skill4;
	}
	public String getDescribe_hero() {
		return describe_hero;
	}
	public void setDescribe_hero(String describe_hero) {
		this.describe_hero = describe_hero;
	}
	
	public double getLastHP() {
		return lastHP;
	}
	public void setLastHP(double lastHP) {
		this.lastHP = lastHP;
	}
	public String getHeadpath() {
		return headpath;
	}
	public void setHeadpath(String headpath) {
		this.headpath = headpath;
	}
	public String getBodypath() {
		return bodypath;
	}
	public void setBodypath(String bodypath) {
		this.bodypath = bodypath;
	}
	
	
	public boolean isBlood() {
		return blood;
	}
	public void setBlood(boolean blood) {
		this.blood = blood;
	}
	
	public int getDEX() {
		return DEX;
	}
	public void setDEX(int dEX) {
		DEX = dEX;
	}
	
	public String getMyluck() {
		return myluck;
	}
	public void setMyluck(String myluck) {
		this.myluck = myluck;
	}
	
	public double getMaxHP() {
		return maxHP;
	}
	public void setMaxHP(double maxHP) {
		this.maxHP = maxHP;
	}
	
	public boolean isNoDodge() {
		return noDodge;
	}
	public void setNoDodge(boolean noDodge) {
		this.noDodge = noDodge;
	}
	/*
	 * 攻击防御方法
	 */
	public abstract void attack(int skill,BaseHero enemy);
//	public abstract void defend(BaseHero enemy);
	public abstract void skill1(BaseHero enemy);
	public abstract void skill2(BaseHero enemy);
	public abstract void skill3(BaseHero enemy);
	public abstract void skill4(BaseHero enemy);
	public abstract boolean isDodge(BaseHero enemy);
}
